package ApplicationModels;

import java.util.List;

import org.uqbar.commons.model.ObservableUtils;
import org.uqbar.commons.utils.Observable;

import Domain.Asignacion;
import Domain.Planificacion;
import Domain.Tienda;

@Observable
public class PlanificarHorariosAppModel {

	private Planificacion planificacionSeleccionada;
	private Asignacion asignacionSeleccionada;
	private Tienda tienda;

	public PlanificarHorariosAppModel(Planificacion ps, Tienda t) {
		this.planificacionSeleccionada = ps;
		this.setTienda(t);
	}

	// //////////////////////////////////////////////////////////////

	public void setTienda(Tienda t) {
		this.tienda = t;
	}

	public Tienda getTienda() {
		return this.tienda;
	}

	public Asignacion getAsignacionSeleccionada() {
		return asignacionSeleccionada;
	}

	public void setAsignacionSeleccionada(Asignacion asignacionSeleccionada) {
		this.asignacionSeleccionada = asignacionSeleccionada;
	}

	public List<Asignacion> getListadoDeAsignaciones() {
		return this.getPlanificacionSeleccionada().getAsignaciones();
	}

	public Planificacion getPlanificacionSeleccionada() {
		return planificacionSeleccionada;
	}

	public void setPlanificacionSeleccionada(
			Planificacion planificacionSeleccionada) {
		this.planificacionSeleccionada = planificacionSeleccionada;
	}

	public void eliminarAsignacion(Asignacion asignacionSeleccionada2) {
		this.getListadoDeAsignaciones().remove(asignacionSeleccionada2);
		this.cambiaronLasAsignaciones();
	}

	public void cambiaronLasAsignaciones() {
		ObservableUtils.firePropertyChanged(this,
				"planificacionSeleccionada.asignaciones", this
						.getPlanificacionSeleccionada().getAsignaciones());
	}
}
